1. Technical Field
This disclosure relates to computer systems, and more particularly, to training delay times for signal used to synchronize reads of memory in computer system.
2. Description of the Related Art
In order to properly read data from a memory, determining a time when the data is valid is an important factor. To optimize computer system performance, minimizing this value may be desired. To determine the optimal time at which data received from a memory may be read, a training procedure may be performed.
For various types of double data rate (DDR) memories, such as DDR, DDR2, and DDR3, a data strobe signal may be returned with data from the memory during a read operation. The data strobe signal is a source synchronous clock signal that may be used to synchronize the data at a receiver in a memory controller, as well as indicating that the data is valid. Training of the data strobe signal to ensure correct timing may be performed at the beginning of system operation.
One method to perform training of a DDR data strobe begins with performing of reads at a low operational frequency known as a seed. The training procedure may then conduct a series of reads to determine an optimal time to enable the data strobe signal to observe the returned data at a first frequency known as a seed. The seed may be determined based on characterizations conducted in a lab during a design phase of the computer system. The training may be conducted at different frequencies until the optimal time to enable the data strobe signal is determined. The resulting trained optimal time at the original frequency may be used to calculate an approximate starting time for subsequent training at a next higher frequency. The resulting second trained value may be used to calculated an approximate starting time for training at a third higher frequency, and so on. The method of using trained times at lower frequencies to determine starting times for training at higher frequencies can be repeated multiple times until all frequencies that will be used in normal operation have been trained.